package com.zmj.sy.mom.srv.aps.feign;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zmj.sy.mom.srv.aps.bean.vo.base.Result;
import com.zmj.sy.mom.srv.aps.bean.vo.lantek.PlatePreNormVo;
import com.zmj.sy.mom.srv.aps.bean.vo.lantek.PlatePreStockVo;
import com.zmj.sy.mom.srv.aps.bean.vo.nest.LantekLockStockReqVo;
import com.zmj.sy.mom.srv.aps.bean.vo.plate.PlateListReqVo;
import com.zmj.sy.mom.srv.aps.bean.vo.plate.PlateListResVo;
import com.zmj.sy.mom.srv.aps.bean.vo.report.ReportUnlockStockReqVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
//,name = "mom-aps-wms"
@FeignClient(  name = "mom-aps-wms" )
//@FeignClient(url = "http://172.31.3.43:8090/apswms")
public interface ApsWmsApiClient {

    /**
     * 获取钢板炉批号
     */
    @GetMapping("/wms/nesting/lanteke/queryLotNo")
    String queryLotNo(@RequestParam("plateCode") String plateCode);

    /**
     * 预套料库存信息
     */
    @PostMapping("/wms/nesting/lanteke/preNestPlateStock")
    PlatePreStockVo preNestPlateStock(PlatePreNormVo reqVo);

    /**
     * 强制解锁库位
     */
    @PostMapping("/wms/nesting/lanteke/unlockStock")
    Result unlockStock(@RequestBody ReportUnlockStockReqVo reqVo);

    /**
     * 获取钢板列表
     */
    @PostMapping("/wms/nesting/lanteke/plateList")
    Result<Page<PlateListResVo>> plateList(@RequestBody PlateListReqVo plateInfoDto);

    /**
     * 推送钢板到兰特克后锁定钢板
     */
    @PostMapping("/wms/nesting/lanteke/pushLanLock")
    Result<?> pushLanLock(@RequestBody LantekLockStockReqVo reqVo);

    /**
     * 释放兰特克钢板后解锁钢板
     */
    @PostMapping("/wms/nesting/lanteke/pushLanUnlock")
    Result<?> pushLanUnlock(@RequestBody LantekLockStockReqVo reqVo);

}
